#pragma once
#include "IProcTexture.h"
#include <map>
using std::map;

class CProcTextureThreshold : public IProcTexture
{
private:
	map<float, CColor> m_thresholds;

	int m_octave;
	float m_persistance;
	float m_intensity;

public:
	CProcTextureThreshold(){};
	CProcTextureThreshold(float persistance, int octave, float intensity);
	~CProcTextureThreshold(){};
	
	void addThreshold(float threshold, const CColor& c);
	void setPersistance(float persistance){m_persistance = persistance;};
	void setOctave(int octave){m_octave = octave;};
	void setIntensity(float intensity){m_intensity = intensity;};

	CColor getColor(const CVector3f& p)const;
};